package com.mars.module.utils;


import com.alibaba.fastjson.JSON;
import com.baidu.aip.nlp.AipNlp;
import org.json.JSONArray;
import org.json.JSONObject;

import java.util.HashMap;
import java.util.List;

/**
 * @author wangghua
 * @ClassName BaiduMain
 * @描述:
 * @datetime 2023年 01月 04日 9:55
 */
public class CorrectText {
    //设置APPID/AK/SK，在第一步的准备工作那里获取
    public static final String APP_ID = "60318734";
    public static final String API_KEY = "SuBZS1bKtR3OEoZt6szt2xGI";
    public static final String SECRET_KEY = "HwohV1hh7LAS30Ic07SyuVL5gCTRYMdl";


    public String getCorrectText(String text) {
        // 初始化一个AipNlp
        AipNlp client = new AipNlp(APP_ID, API_KEY, SECRET_KEY);
       // String text = "白度一下今天的问踢";

        // 传入可选参数调用接口
        HashMap<String, Object> options = new HashMap<String, Object>();

        // 文本纠错
        JSONObject res = client.ecnet(text, options);
        JSONObject resultJson = res.getJSONObject("item");
        String resultOriginal = resultJson.getString("correct_query");
        JSONArray listQuery = resultJson.getJSONArray("vec_fragment");//获取到的结果是一个纠错的词汇JSONArray集合
        String strArray = JSONObject.valueToString(listQuery);//将词汇集合转为字符串
        List<VecFragment> vecFragmentList = JSON.parseArray(strArray, VecFragment.class);//将转为的字符串重新转为List集合
        if (vecFragmentList.size() > 0) {
            for (VecFragment fragment : vecFragmentList) {
                System.out.println("错误词汇 = " + fragment.getOriFrag());
                System.out.println("替换词汇 = " + fragment.getCorrectFrag());
            }
        } else {
            System.out.println("没有需要替换的词汇");
        }
        System.out.println("替换前文本:" + text);
        System.out.println("替换后文本:" + resultOriginal);
        System.out.println(res.toString(2));//这是返回的所有数据结构打印
        return resultOriginal;
    }
}

